package com.jrsoft.jrcore.base

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding

/**
 * 所属系统:  杨梅红画院移动端
 * 所属模块: 基础模块
 * 功能描述: 创建DataBinding绑定的基类fragment
 * 创建时间: 2020/5/14 18:39
 * 维护人:  杨广
 * Copyright @ Jerrisoft 2019. All rights reserved.
 *┌──────────────────────────────────────────────────────────────┐
 *│ 此技术信息为本公司机密信息，未经本公司书面同意禁止向第三方披露．   │
 *│ 版权所有：杰人软件(深圳)有限公司                                │
 *└──────────────────────────────────────────────────────────────┘
 */
abstract class CoreDataBindFragment<DB : ViewDataBinding, VM : BaseViewModel> : CoreFragment<VM>() {
    lateinit var mDataBind: DB

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        if (mRootView == null) {
            mDataBind = DataBindingUtil.inflate(inflater, getLayoutResId(), container, false)
            mDataBind.lifecycleOwner = this
            mRootView = mDataBind.root
        }
        return mRootView
    }

    override fun onDestroy() {
        super.onDestroy()
        mDataBind.unbind()
    }
}